Collaborative work environments, particularly with respect to collaborative software development, are becoming more commonplace. In such environments, teams of developers work together to produce a common work product for solving a complex problem. Often, the collaborative effort may include contributors in diverse locations, which may be geographically dispersed.
While tools are available to facilitate such collaborative work environments they have drawbacks. For example, a collaborative software development may use a “team room” concept in which a single document is maintained in which each of the collaborators inserts his or her changes. In this scheme, one collaborator must be responsible to merge all of the changes to be made. Alternatively, the document may be locked so that only one contributor can access the document at a time. Other software, WebRevue, for example, allow collaborators to comment on a document; however, it requires users to go to an external site and view the document using a browser. Discussion databases can be replicated for off-line viewing, but these have a thread model similar to the familiar Usenet Newsgroups. Thus, it may be difficult to find particular information in the database. Consequently, ordinary e-mail is commonly used to exchange information in a collaborative environment.
Nevertheless, such e-mail may rapidly accumulate as a fragmented set of comments and contributions. Consequently, there is a need in the art for mechanisms to merge topically-related e-mail and to thereby allow it to be viewed as one file with contributions from multiple users embedded in the single document. Additionally, there is a further need for mechanisms to embed the contributions in their appropriate locations within the document.